﻿/*********************************************************
 * 开发人员：小兵
 * 创建时间：2012-10-8 17:08:50
 * 描述说明：
 * 
 * 更改历史：
 * 
 * *******************************************************/
namespace Mozlite.Data.Components
{
    using System;
    using System.Web;
    using System.Data;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using Mozlite.Data.Components.Structures;
    using Mozlite.Data.Components.Installer;

    /// <summary>
    /// 默认安装实例对象。
    /// </summary>
    /// <typeparam name="THelper">数据库辅助接口类。</typeparam>
    public class DefaultInstallerFactory<THelper> : IInstallerFactory where THelper : ISqlHelper
    {
        private readonly THelper helper;
        /// <summary>
        /// 数据库辅助接口实例。
        /// </summary>
        protected THelper SqlHelper
        {
            get { return helper; }
        } 
        /// <summary>
        /// 初始化类<see cref="DefaultInstallerFactory&lt;THelper&gt;"/>。
        /// </summary>
        /// <param name="helper">数据库辅助接口实例。</param>
        public DefaultInstallerFactory(THelper helper)
        {
            this.helper = helper;
        }

        /// <summary>
        /// 新建一个安装实例。
        /// </summary>
        /// <returns>返回安装实例对象。</returns>
        public virtual IInstaller CreateInstaller()
        {
			throw new NotImplementedException();
        }
        
        /// <summary>
        /// 新建一个数据库实例。
        /// </summary>
        /// <returns>返回数据库实例对象。</returns>
        public virtual IDatabase CreateDatabase()
        {
            return new Database<THelper>(SqlHelper);
        }
    }
}
